package Gather.SetExercise;

import java.util.TreeSet;

/**
 * ClassName:TreeSetText004
 * Package:Gather.SetExercise
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/9-17:29
 * @Version:v1.0
 */
public class TreeSetText004 {
    /*
     * 需求：请自行选择比较器排序和自然排序两种方式
     * 需求：存入四个字符串,"c","ab","df","qwer"
     * 按照长度排序,如果一样长则按照首字母排序*/
    public static void main(String[] args) {
        //创建集合
        //o1:当前要添加的元素
        //o2：表示已经在红黑树存在的元素
        /*返回值
         * 负数：认为要添加的元素是小的,存左边
         * 正数：认为要添加的元素是大的,存右边
         * 0 ： 认为要添加的元素已经存在,舍弃*/
        TreeSet<String> ts = new TreeSet<>((o1, o2) -> {
            //按照长度排序
            int i = o1.length() - o2.length();
            i = i == 0 ? o1.compareTo(o2) : i;
            return i;
        });
        ts.add("c");
        ts.add("ab");
        ts.add("df");
        ts.add("qwer");

        //遍历集合
        for (String t : ts) {
            System.out.print(t + " ");//ab c df qwer 默认排序规则//c ab df qwer
        }
    }
}
